gcd program